package com.eastfair.projectcore.service;

import com.eastfair.core.base.R;
import com.eastfair.projectcore.dto.ProjectDbDTO;
import com.eastfair.projectcore.dto.ProjectDbSaveDTO;
import com.eastfair.projectcore.entity.ProjectDb;
import com.eastfair.boot.service.SuperCacheService;
import com.eastfair.projectcore.vo.ProjectDbVo;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 项目分库分表信息
 * </p>
 *
 * @author ligang
 * @date 2021-07-07
 */
public interface ProjectDbService extends SuperCacheService<ProjectDb> {

    /**
     * 通过项目id获取雪花id
     *
     * @param projectId 项目id
     * @return
     */
    Long getSelfUid(Long projectId);
    /**
     * 通过项目id批量获取雪花id
     * @param projectId 项目id
     * @param count 数量
     * @return
     */
    List<Long> batGetSelfUid(Long projectId, int count);

    /**
     * 创建项目
     * @param projectDbDTO
     * @return
     */
    R createProject(ProjectDbDTO projectDbDTO);

    /**
     * 更新项目
     * @param projectDbDTO
     * @return
     */
    R updateProject(ProjectDbDTO projectDbDTO);


    /**
     * 查询项目和角色
     * @param id
     * @return
     */
    ProjectDbVo getAndRoleById(Long id);

    /**
     * 根据项目查询展会
     * @param projectId
     * @return
     */
    ProjectDbVo queryExhibition(Long projectId);
}
